package pattern19.barbecue;

import java.util.ArrayList;
import java.util.List;

/**
 * 服务员
 * @author wdl
 */
public class Waiter {
    private BaseCommand command;
    /**
     * 存放命令集合（订单）
     */
    private List<BaseCommand> commands=new ArrayList<>();

    /**
     * 设置订单
     * @param command 顾客具体的命令
     */
    public void setOrder(BaseCommand command){
        if (command.getClass()==BakeChickenWingCommand.class){
            System.out.println("服务员：烤翅买完了，请烤些别的");
        }else {
            commands.add(command);
        }
    }

    /**
     * 取消订单
     * @param command 顾客的具体命令
     */
    public void cancelOrder(BaseCommand command){
        commands.remove(command);
        System.out.println("已经取消订单"+command.getClass().getName());
    }
    /**
     * 通知全部的烤肉
     */
    public void notifyX(){
        for (BaseCommand order:commands){
            order.executeCommand();
        }

    }
}
